Automatically Tracing Imprecision Causes in JavaScript Static Analysis
نویسندگان
چکیده
منابع مشابه
Goal-Directed Backwards Static Analysis for JavaScript
JavaScript is notoriously difficult to analyze due to its rampant use of standard dynamic features (e.g. duck typing, dynamic dispatch, first-class functions, and run-time string evaluation), as well as its idiosyncratic approach to scoping (scope object chains) and inheritance (prototyping). Therefore, despite its near-universal adoption as a client-side scripting language and its increasing u...
متن کاملGULFSTREAM: Staged Static Analysis for Streaming JavaScript Applications
The advent of Web 2.0 has led to the proliferation of client-side code that is typically written in JavaScript. Recently, there has been an upsurge of interest in static analysis of client-side JavaScript for applications such as bug finding and optimization. However, most approaches in static analysis literature assume that the entire program is available to analysis. This, however, is in dire...
متن کاملGulfstream: Incremental Static Analysis for Streaming JavaScript Applications
The advent of Web 2.0 has led to the proliferation of client-side code that is typically written in JavaScript. Recently, there has been an upsurge of interest in static analysis of client-side JavaScript. However, most approaches in static analysis literature assume that the entire program is available to analysis. This, however, is in direct contradiction with the nature of Web 2.0 programs t...
متن کاملType Analysis for JavaScript
JavaScript is the main scripting language for Web browsers, and it is essential to modernWeb applications. Programmers have started using it for writing complex applications, but there is still little tool support available during development. We present a static program analysis infrastructure that can infer detailed and sound type information for JavaScript programs using abstract interpretat...
متن کاملType Inference for Static Compilation of JavaScript (Extended Version)
We present a type system and inference algorithm for a rich subset of JavaScript equipped with objects, structural subtyping, prototype inheritance, and first-class methods. The type system supports abstract and recursive objects, and is expressive enough to accommodate several standard benchmarks with only minor workarounds. The invariants enforced by the types enable an ahead-of-time compiler...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: The Art, Science, and Engineering of Programming
سال: 2019
ISSN: 2473-7321
DOI: 10.22152/programming-journal.org/2020/4/2